/*
 *    Copyright (c) 2018-2025, lengleng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: lengleng (wangiegie@gmail.com)
 */
package cn.s1995.sloth.bizs.entity;

import cn.s1995.sloth.bizs.entity.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 地区表
 *
 * @author penf
 * @date 2022-03-07 10:42:30
 */
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("biz_region_data")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "地区表")
public class RegionData extends BaseEntity {

    /**
     * Id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "ID")
    private Long id;

    /**
     * 父Id
     */
    @Schema(description = "父Id")
    private Long parentId;

    /**
     * 地区名
     */
    @Schema(description = "地区名")
    @TableField("`name`")
    private String name;

    /**
     * 地区简称
     */
    @Schema(description = "地区简称")
    private String shortName;

    /**
     * 层级
     */
    @Schema(description = "层级")
    private Integer levelType;

    /**
     * 城市编号
     */
    @Schema(description = "城市编号")
    private String cityCode;

    /**
     * 邮政编码
     */
    @Schema(description = "邮政编码")
    private String zipCode;

    /**
     * 地区全称
     */
    @Schema(description = "地区全称")
    private String mergerName;

    /**
     * 经度
     */
    @Schema(description = "经度")
    private BigDecimal lng;

    /**
     * 纬度
     */
    @Schema(description = "纬度")
    private BigDecimal lat;

    /**
     * 拼音
     */
    @Schema(description = "拼音")
    private String pinyin;

    /**
     * 状态：1.启用 2.禁用
     */
    @Schema(description = "状态：1.启用 2.禁用")
    private Integer state;

    /**
     * 删除标识
     */
    @TableLogic
    @TableField
    @Schema(description = "删除标识", hidden = true)
    private Boolean delFlag;


}
